IView Interface
- GetModel
 
- GetGlobalAxesFlag
 
- ShowGlobalAxes
 
- GetBackColor
 
- SetBackColor
 
- GetRenderType
 
- SetRenderType
 
- Enable
 
- GetEnableFlag
 
- Reset
 
- ResetEx
 
- GetViewType
 
- SetViewType
 
- AddExternalModel
 
- ShowHideAll
 
- GoTo
 
- GetGraphicItem
 
- GetProjectionType
 
- SetProjectionType
 
 
IView interface gives access to viewing properties of the control as well as access
to ILook interface, which can be queried from IView. IView manages rendering
properties which are independent of the current model and its geometry. IView
can be obtained from the DG Kernel Control using a call to 
GetView
method  
See also Concepts of 3D Graphics, Modal View Sample, 
Interface List 
 
HRESULT GetModel( IModel **ppIModel )  
Parameters 
ppIModel- [out] pointer to an variable
of type IModel which will receive the interface.  
Returns 
  - S_OK in case of success.
  
 
HRESULT GetGlobalAxesFlag( bool *pbShow) 
 
Parameters 
pbShow - [out] pointer to a Boolean
variable, which will be set to true if global axes are currently displayed  
Return Values  
  - S_OK in case of 
  success. 
  
-  
  
- Remarks:
 
   
 
HRESULT   ShowGlobalAxes( bool bShow)   
 
Parameters 
bShow - [in] if true global axes
will be drawn   
  - S_OK in case of success. 
   
  
   
  
  HRESULT   GetBackColor( long *plCOLORREF )   
   
  
Parameters 
plCOLORREF  
- [out] pointer to a variable of type long (unsigned 32-bit integer),
which will receive COLORREF value of the current background color  
  
Return Values 
S_OK in case of success.  
- Remarks:
 
-  
- This property determines background color of the control window. Value of
  the property need to be cast to COLORREF standard C++/VB data type to use. A
  call to this method is equivalent to retrieving value of  DIBackColor property
  of the control.
 
  
  
   
  
  HRESULT   SetBackColor( long lCOLORREF )   
   
  
Parameters 
lCOLORREF  
- [in] new COLORREF value for the background color  
  
Return Values 
S_OK in case of success.  
- Remarks:
 
-  
- This property determines background color of the control window. Value of
  the property need to be cast to COLORREF standard C++/VB data type to use. A
  call to this method is equivalent to setting value of  DIBackColor property
  of the control.
 
  
-  
 
 
  
   
  
  HRESULT   GetRenderType( int *pnType )   
   
  
Parameters 
lpnType  
- [out] pointer to an integer variable, which will be set to 1
if control is displaying a surface or 2 if the control is in wire frame drawing
mode.  
  
Return Values 
S_OK in case of success.  
- Remarks:
 
-  
- Call to determine at runtime rendering type of the control. There are
  currently two possible values for the render type of the control: 1 if control
  is displaying a surface or 2 if the control is in wire frame drawing mode. A
  call to this method is equivalent to retrieving value of  RenederSolid
  property of the control.
 
-  
 
  
  
   
  
  HRESULT SetRenderType( int nType )   
   
  
Parameters 
 nType  - [in] New render type.
If nType equals to 1 the control will be displaying surfaces. if nType equals to
2 the control will display wireframes.  
  
Return Values 
S_OK in case of success.  
DISP_E_BADINDEX - if nType is neither 1 nor 2..   
- Remarks:
 
-  
- Call this method to change display type of the control. A call to this
  method is equivalent to setting value of  RenederSolid property of the
  control. 
 
  
 
  
  HRESULT Update()   
  Redraws the view. 
 
HRESULT  Enable( int nFlags, VARIANT_BOOL bEnable )  
Parameters 
nFlags - [in] flags indicating the 
    functionality to enable or disable. See remarks.  
  bEnable -  [in] . The functionality will be enabled
(default) if this parameter is true and disabled otherwise.  
 
Returns  
  - S_OK in case of 
  success.
  
Remarks 
nFlags parameter can be one of  
EEnableBit members: EEnableBit.eEnablePan ( value=1 ), EEnableBit.eEnableZoom
(value = 2), EEnableBit.eEnableRotate (value=4), EEnableBit.eEnableHighLightSurface (value=512), EEnableBit.eEnableTransparency
(value=1024) or OR-ed combination of them. .
 
Using this method with the first three values of the nFlags 
allows disabling of Pan/Zoom/Rotate viewing manipulations
performed on mouse movements. EEnableBit.eEnableHighLightSurface flags enables or disables highlighting
the current object in "Modify"
mode (See IViewModal and IModel2)). 
 
EEnableBit.eEnableTransparency (value=1024) enables rendering of objects with 
    alpha material color component < 1 as transparent 
EEnableBit.eEnablePerspectiveProjection (value=2048) changes view to prospective mode, 
where objects, which are further from the viewer appear smaller on the screen. 
Prospective mode is recommended for viewing only and is not fully supported in 
this release. Contact us for more information. 
EEnableBEEnableBit.eEnableNormals (value=4096)  turns on / off visibility on normals 
        in the 3D view 
 
HRESULT GetEnableFlag( int nFlag, VARIANT_BOOL *pbEnable )      
Parameters 
nFlag - [in] flag to retrieve.  
pbEnable      - [out] pointer to a Boolean variable,
which will be set to true if the flag is enabled and false otherwise.  
Return Values  
  - S_OK in case of 
  success. 
  
- Remarks
 
-  
- This method returns the current value of the flag. See remarks for the
  previous method.
 
  
 
HRESULT Reset(VARIANT_BOOL redraw)      
Parameters 
 redraw - [in] if false the
control's window will not be redrawn.   
Return Values  
  S_OK in case of success. 
Remarks 
This method resets zoom of the view to fit the model into the window and
  sets point of view to default. The method can be used to programmatically
  restore initial zoom and orientation after extensive viewing transformations.
  It is also useful to fit model into the view when size of the model has been
  changed programmatically.  redraw parameter can be used to avoid
flickering before some programmatic manipulations of the view.
 
 
HRESULT ResetEx(EViewReset
action) 
Parameters 
action - [in] Type of reset to 
perform 
Remarks 
When action is 
eViewResetAll the result is equivalent to call Reset(false) of the previous 
method. 
When action is 
eViewResetVolume the model will be refit into the window to be fully visible 
as if on the start of the application, but its current orientation will be 
preserved. 
In more technical terms it means that only 
Viewing Volume will be modified to center it around the model. Position and 
orientation of Global and Eye frames will remain 
unchanged. 
  
 
HRESULT GetViewType(int *type) 
Parameters 
type - [out, retval] Current type of 
the view. Possible return values are enumerated in 
EViewType 
enumeration 
Remarks 
Returns the current type of the view. Possible types are enumerated in 
EViewType enumeration 
 
HRESULT SetViewType(int type) 
Parameters 
type - [in] Type of view to 
activate. Possible types are enumerated in 
EViewType 
enumeration 
Remarks 
  
This method is not supported in this version 
 
HRESULT AddExternalModel(IModel *model) 
Parameters 
model - [in] 
IModel implemented by an external model. See remarks. 
Remarks 
The method attaches model as an 
external model to the 
component which implements this interface. When there is one or more external 
models attached to the component where this IView2 was queried from on every
UpdateSurface call all objects of 
all external models are replicated and the new copies are added to the main 
model of the component, which is the model returned by
GetModel() method. The replicas added by 
the pervious call to UpdateSurface 
are removed before the operation. 
The above mechanism allows incorporating model loaded / created independently of 
the current component or creating multiple views of the same model probably with 
different display type or point of view. 
Note that objects of the external models are. added "By Value", which means that 
any modifications made to the external model appear in this component only after 
an UpdateSurface call, not 
automatically. 
  
 
HRESULT ShowHideAll(VARIANT_BOOL show) 
  Remarks 
Shows or hides all items in the model 
 
HRESULT GoTo(IItem* iObject) 
Remarks 
  
Performs pan and zoom as necessary to focus on the object ( more precisely to fit 
    the object in the window with default margins). Orientation of the view remains 
    the same 
 
HRESULT GetGraphicItem(IObject_KC* object, IGraphicItem** item) 
Creates a graphic item for the object and attaches this view to it 
 
HRESULT GetProjectionType(int* type) 
Call to query whether the projection is orthographic or perspective. Returns one of values enumerated by E3DViewProjectionType 
 
HRESULT SetProjectionType(int type) 
Call to set the projection type to orthographic or perspective. Acceptable values are enumerated by E3DViewProjectionType 
                 |